// 对axios的二次封装
import axios from 'axios';
// 引入进度条
import nprogress from 'nprogress';
// 引入进度条样式
import store from "@/store/index"
import "nprogress/nprogress.css"
let requests = axios.create({
    baseURL: '/api',
    timeout:5000
})
// 请求拦截器 一些函数,在发送请求之前做一些事情
requests.interceptors.request.use(config=>{
    // 当用户登录,携带用户token发送给服务器,获取用户自己的用户信息,token携带在请求头中
    if(store.state.user.token){
        config.headers.token=store.state.user.token
    }
    // 进度条开始
    nprogress.start()
    return config;//配置对象
})
// 响应拦截器
requests.interceptors.response.use(
    (res)=>{
        // 进度条结束
        nprogress.done()
        return res.data
    },(err)=>{
        alert(err)
    }
)
// 暴漏一个axios实例
export default requests;